home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / utility2 / wine02bx.zip / LISP / PACKAGES / COMPILE.ELC < prev    next >
Text File  |  1993-03-28  |  11KB  |  133 lines

  1. ;;; compiled by jwz@thalidomide on Sun Dec 13 17:35:33 1992
  2. ;;; from file /u/jwz/emacs19/lisp/packages/compile.el
  3. ;;; emacs version 19.4 Lucid.
  4. ;;; bytecomp version 2.08; 27-aug-92.
  5. ;;; optimization is on.
  6. ;;; this file uses opcodes which do not exist in Emacs18.
  7.  
  8. (if (and (boundp 'emacs-version)
  9.      (or (and (boundp 'epoch::version) epoch::version)
  10.          (string-lessp emacs-version "19")))
  11.     (error "This file was compiled for Emacs19."))
  12.  
  13. (provide 'compile)
  14. (defvar compilation-error-list nil "\
  15. List of error message descriptors for visiting erring functions.
  16. Each error descriptor is a list of length two.
  17. Its car is a marker pointing to an error message.
  18. Its cadr is a marker pointing to the text of the line the message is about,
  19.   or nil if that is not interesting.
  20. The value may be t instead of a list;
  21. this means that the buffer of error messages should be reparsed
  22. the next time the list of errors is wanted.")
  23. (defvar compilation-old-error-list nil "\
  24. Value of `compilation-error-list' after errors were parsed.")
  25. (defvar compilation-last-error nil "\
  26. List describing the error found by last call to \\[next-error].
  27. A list of two markers (ERROR-POS CODE-POS),
  28. pointing to the error message and the erroneous code, respectively.
  29. CODE-POS can be nil, if the error message has no specific source location.")
  30. (defvar compilation-parse-errors-hook 'compilation-parse-errors "\
  31. Function to call (no args) to parse error messages from a compilation.
  32. It should read in the source files which have errors
  33. and set `compilation-error-list' to a list with an element
  34. for each error message found.  See that variable for more info.")
  35. (defvar compilation-error-buffer nil "\
  36. Current compilation buffer for compilation error processing.")
  37. (defvar compilation-parsing-end nil "\
  38. Position of end of buffer when last error messages parsed.")
  39. (defvar compilation-error-message nil "\
  40. Message to print when no more matches for compilation-error-regexp are found")
  41. (defvar compilation-error-regexp "\\([^ :\n]+\\(: *\\|, line \\|(\\)[0-9]+\\)\\|\\([0-9]+ *of *[^ \n]+\\)\\|\\(\"[^ \n]+\",L[0-9]+\\)" "\
  42. Regular expression for filename/linenumber in error in compilation log.")
  43. (defvar compile-window-height nil "\
  44. *Desired height of compilation window.  nil means use Emacs default.")
  45. (defvar compile-command "make -k " "\
  46. Last shell command used to do a compilation; default for next compilation.
  47.  
  48. Sometimes it is useful for files to supply local values for this variable.
  49. You might also use mode hooks to specify it in certain modes, like this:
  50.  
  51.     (setq c-mode-hook
  52.       '(lambda () (or (file-exists-p \"makefile\") (file-exists-p \"Makefile\")
  53.               (progn (make-local-variable 'compile-command)
  54.                  (setq compile-command
  55.                     (concat \"make -k \"
  56.                         buffer-file-name))))))")
  57. (defvar compilation-search-path '(nil) "\
  58. List of directories to search for source files named in error messages.
  59. Elements should be directory names, not file names of directories.
  60. nil as an element means to try the default directory.")
  61. (byte-code "└┴!¼é┬┬ç" [boundp minibuffer-compile-history nil] 2)
  62. (fset 'compile #[(command) "┬├ë\"ê─    ┼\"ê¡Æ╟ ╚ U¡ï╔╩ ╦ ZZ├\"ç" [command compile-command save-some-buffers nil compile-internal "No more errors" compile-window-height window-width screen-width enlarge-window screen-height window-height] 3 "\
  63. Compile the program including the current buffer.  Default: run `make'.
  64. Runs COMMAND, a shell command, in a separate process asynchronously
  65. with output going to the buffer `*compilation*'.
  66. You can then use the command \\[next-error] to find the next error message
  67. and move to the source code that caused it.
  68.  
  69. To run more than one compilation at once, start one and rename the
  70. `*compilation*' buffer to some other name.  Then start the next one." (byte-code "└┴\n├#Cç" [read-string "Compile command: " compile-command minibuffer-compile-history] 4)])
  71. (fset 'grep #[(command-args) "┴┬├\"½ä┴ò¬éGO─Q╞╟P╚╔#ç" [grep-command 0 string-match "-n" " " command-args compile-internal " /dev/null" "No more grep hits" "grep"] 5 "\
  72. Run grep, with user-specified args, and collect output in a buffer.
  73. While grep runs asynchronously, you can use the \\[next-error] command
  74. to find the text that grep hits refer to.  It is expected that `grep-command'
  75. has a `-n' flag, so that line numbers are displayed for each match." (byte-code "└┴\n├─┼\n\"O╞Q!Cç" [read-shell-command "Run " grep-command 0 string-match "[     ]+" " (with args): "] 7)])
  76. (fset 'compile-internal #[(command error-message &optional name-of-mode parser regexp) "è└┴!qê┬─p!ë½ù╞!╟=½à╚╔!½ç┬╩╦Åê¬ä╠═!ê)╬ ê)╧ ê╨╤┴#ê┴É╙╘!ê╙!ê╓ ê╙!ê╓ æê«é«é▄┴!▐!p=½âdbêα─!ß\"êèqê\"=¼ÿ#Σ=¼Æ#¼ò─\"!½ê╞\"!╟=¼çΣ#\"σ êµe\"ê'«üΦ)Ω =«àδe\".ç" [get-buffer-create "*compilation*" nil buffer-read-only get-buffer-process comp-proc process-status run yes-or-no-p "A compilation process is running; kill it? " (byte-code "└    !ê┬├!ê─    !ç" [interrupt-process comp-proc sit-for 1 delete-process] 2) ((error)) error "Cannot have two processes in `*compilation*' at once" kill-all-local-variables compilation-forget-errors start-process-shell-command "compilation" command princ "cd " default-directory terpri regexp compilation-error-regexp parser compilation-parse-errors-hook thisdir get-buffer outbuf get-buffer-window outwin set-process-sentinel compilation-sentinel compilation-error-buffer compilation-error-list t compilation-mode set-window-start name-of-mode "Compilation" mode-name selected-window set-window-point] 5 "\
  77. Run compilation command COMMAND (low level interface).
  78. ERROR-MESSAGE is a string to print if the user asks to see another error
  79. and there are no more errors.  Third argument NAME-OF-MODE is the name
  80. to display as the major mode in the `*compilation*' buffer.
  81.  
  82. Fourth arg PARSER is the error parser function (nil means the default).
  83. Fifth arg REGEXP is the error message regexp to use (nil means the default).
  84. The defaults for these variables are the global values of
  85.  `compilation-parse-errors-hook' and `compilation-error-regexp'."])
  86. (defvar compilation-mode-map (byte-code "└ ┬    ├─#ê    )ç" [make-sparse-keymap map define-key "" compile-goto-error] 4) "\
  87. Keymap for compilation log buffers.")
  88. (fset 'compilation-mode #[nil "└ ê┴\n!ê├─!ê├╞!ê├╚!ê    ╩p!ê╦ ═╧ëç" [fundamental-mode use-local-map compilation-mode-map make-local-variable compilation-parse-errors-hook parser compilation-error-message error-message compilation-error-regexp regexp buffer-disable-undo compilation-mode major-mode "Compilation" mode-name (": %s") mode-line-process] 2 "\
  89. Major mode for compilation log buffers.
  90. \\<compilation-mode-map>To visit the source for a line-numbered error,
  91. move point to the error message line and type \\[compile-goto-error]." nil])
  92. (fset 'compilation-sentinel #[(proc msg) "└┴\n!!¼à├\n─\"ç┼\n!╞>¡╥p──    ╩Ä┴\n!qêd`    dbê╦ ═▒ê╧uê╨╤ ╥╙O▒ê╘uê╒╓┼\n!!P╪\n!ê)    ½ï    W½ä    bêq+ç" [buffer-name process-buffer proc set-process-buffer nil process-status (signal exit) obuf omax opoint ((byte-code "└┴ !ç" [set-buffer-modified-p buffer-modified-p] 2)) 10 mode-name " " msg -1 " at " current-time-string 0 19 1 ": " symbol-name mode-line-process delete-process] 4])
  93. (fset 'kill-compilation #[nil "└┴ ₧½âp¬â┬├!┼ !¡à╞┼ !!)ç" [compilation-parse-errors-hook buffer-local-variables get-buffer "*compilation*" buffer get-buffer-process interrupt-process] 3 "\
  94. Kill the process made by the \\[compile] command." nil])
  95. (fset 'compile-reinitialize-errors #[(argp) "┴=¼æ\n:¼ì├─ ₧½ìpë=¼å╞ ê╟?¡Ñè╔!ê╩╦!ê╟U ═├!ê ½åë¬çñë*ç" [compilation-error-list t argp compilation-parse-errors-hook buffer-local-variables compilation-error-buffer compilation-forget-errors 1 compilation-parsing-end switch-to-buffer set-buffer-modified-p nil at-start run-hooks compilation-old-error-list] 3])
  96. (fset 'compile-goto-error #[(&optional argp) "└    !êè┬yê├─ \">)╟ ¼ä╚╔!ê╩╦!ç" [compile-reinitialize-errors argp 0 assoc point-marker compilation-old-error-list compilation-error-list one-window-p other-window -1 next-error 1] 3 "\
  97. Visit the source for the error message point is on.
  98. Use this command in a compilation log buffer.
  99. C-u as a prefix arg means to reparse the buffer's error messages first;
  100. other kinds of prefix arguments are ignored." "P"])
  101. (fset 'next-error #[(&optional argp) "└    !ê    :½é┬ G GZ┼Z╞    !\\ ¢ë@ë¼╡è    ½æ╞    !╔V½å╩╦!ê¬ä╩╠!êqê╬ ê╩╨p!½î╤╨p!!╥=½â╙¬ü╘P!ê)AA@½ƒ╒╓A@!!êA@bê`A@U¼ê~êA@bê╫┘╓@!!█@\"ê▄@\"ê*ë*ç" [compile-reinitialize-errors argp nil compilation-old-error-list compilation-error-list 1 prefix-numeric-value next-errors next-error 0 error "Moved past last error" "Moved back past first error" compilation-error-buffer compilation-forget-errors compilation-error-message get-buffer-process process-status run " yet" "" switch-to-buffer marker-buffer t pop-up-windows display-buffer w set-window-point set-window-start compilation-last-error] 6 "\
  102. Visit next compilation error message and corresponding source code.
  103. This operates on the output from the \\[compile] command.
  104. If all preparsed error messages have been processed,
  105. the error message buffer is checked for new ones.
  106.  
  107. A prefix arg specifies how many error messages to move;
  108. negative means move back to previous error messages.
  109. Just C-u as a prefix means reparse the error message buffer
  110. and start at the first error.
  111.  
  112. \\[next-error] normally applies to the most recent compilation started,
  113. but as long as you are in the middle of parsing errors from one compilation
  114. output buffer, you stay with that compilation output buffer.
  115.  
  116. Use \\[next-error] in a compilation output buffer to switch to
  117. processing errors from that compilation.
  118.  
  119. See variables `compilation-parse-errors-hook' and `compilation-error-regexp'
  120. for customization ideas.  When we return, `compilation-last-error'
  121. points to the error message and the erroneous code." "P"])
  122. (fset 'previous-error #[(&optional argp) "└    ¼â┬¬ë    º½ä    [¬ü    !ç" [next-error argp -1] 2 "\
  123. \\[next-error] backwards." "P"])
  124. (fset 'compilation-forget-errors #[nil "½£@ë@┬ëôê    A@½ç    A@┬ëôê)Aë¼d┬ëç" [compilation-old-error-list next-error nil compilation-error-list] 4])
  125. (fset 'compilation-parse-errors #[nil "└┬├!ê└ëëbêo½â╚yê╔\n└╦#â╘└ëëë î╨ö╨ò}êdbê╤└xêh╥U½₧e╙ T}ê└ê╘\n!ê╒└xê`╨ò}êdbê╤└xê╓╤!½è╫p!ebê¬Åebê╫p!dbê╒└xê╪ )ܽå U¼┴╨yê┘ ܼï┌!╨½Ñèqê ╨U½à█bê█ Zyê┘   D    B)█yê,éd+┬▄!ê    ƒëç" [nil compilation-error-list message "Parsing error messages..." last-linenum last-filename text-buffer compilation-parsing-end 2 re-search-forward compilation-error-regexp t text-marker error-marker filename linenum 0 "[0-9]" 40 buffer-size re-search-backward "^     \n" looking-at read compilation-grab-filename point-marker compilation-find-file 1 "Parsing error messages...done"] 4 "\
  126. Parse the current buffer as grep, cc or lint error messages.
  127. See variable `compilation-parse-errors-hook' for the interface it uses."])
  128. (fset 'compilation-find-file #[(filename) "┴뽃\n¼£ @½å @ P¬ü ╞!¡â╟!) Aë¼a\n*ç" [compilation-search-path nil result dirs filename name file-exists-p find-file-noselect] 3])
  129. (fset 'compilation-grab-filename #[nil "g└=½æî`┴┬!ê`}êebê├p!)ç`─┼wê`{ç" [34 forward-sexp 1 read "^ :,\n    (" nil] 3 "\
  130. Return a string which is a filename, starting at point.
  131. Ignore quotes and parentheses around it, as well as trailing colons."])
  132. (define-key ctl-x-map "`" 'next-error)
  133.